import { z } from "zod";

// 用户状态schema定义
const _userStatusSchema = z.union([z.string("normal"), z.string("disabled")]);
export type UserStatus = z.infer<typeof _userStatusSchema>;

// 用户性别schema定义
const _userSexSchema = z.union([z.number("0"), z.number("1")]);
export type UserSex = z.infer<typeof _userSexSchema>;

const _userSchema = z.object({
  id: z.number(),
  username: z.string(),
  nickname: z.string(),
  password: z.string(),
  sex: z.string(),
  avatar: z.string(),
  email: z.string(),
  mobile: z.string(),
  level: z.number(),
  birthday: z.date().optional(),
  money: z.string(),
  score: z.number(),
  last_time: z.string(),
  last_ip: z.string(),
  join_time: z.string(),
  join_ip: z.string(),
  token: z.string(),
  created_at: z.string(),
  updated_at: z.string(),
  role: z.number(),
  status: z.number(),
  status_cn: z.string(),
});
export type User = z.infer<typeof _userSchema>;
// export type User = {
//   id: number;
//   username: string;
//   nickname: string;
//   password: string;
//   sex: string;
//   avatar: string;
//   email: string;
//   mobile: string;
//   level: number;
//   birthday: Date | undefined;
//   money: string;
//   score: number;
//   last_time: string;
//   last_ip: string;
//   join_time: string;
//   join_ip: string;
//   token: string;
//   created_at: string;
//   updated_at: string;
//   role: number;
//   status: number;
//   status_cn: string;
// };
